package com.xnew.entity.memberArchives;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonInclude;
import org.springframework.data.annotation.Transient;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
* @Author: Zhozh
* @Description: 负责人员信息表
* @DateTime: 2022/6/10
* @Params:
* @Return
*/
@TableName("t10_resper_info")
public class ResperInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
    * 负责人员信息编号
    */
    @TableId("resper_info_no")
    private String resperInfoNo;

    /**
    * 信息审核状态编号
    */
    private String infsubAuditStatusCode;

    /**
    * 机构用户编号
    */
    private String orgUserNo;

    /**
    * 负责人员信息录入日期
    */
    private String infoInputTime;

    /**
    * 负责人员信息更新日期
    */
    private String resperInfoUpdateTime;

    /**
    * 会长
    */
    private String chairmName;

    /**
    * 监事长
    */
    private String cfsupvName;

    /**
    * 秘书长
    */
    private String secregName;

    /**
    * 法人代表
    */
    private String legalRepreName;

    /**
    * 负责人员信息录入人
    */
    private String infoInputPsnNo;

    /**
    * 负责人员信息更新人
    */
    private String resperInfoUpdatePsnNo;

    /**
    * 会长/理事长办公电话
    */
    private String chairmOfficeTel;

    /**
    * 会长/理事长移动电话
    */
    private String chairmMob;

    /**
    * 会长/理事长邮箱
    */
    private String chairmEml;

    /**
    * 秘书长办公电话
    */
    private String secregOfficeTel;

    /**
    * 秘书长移动电话
    */
    private String secregMob;

    /**
    * 秘书长邮箱
    */
    private String secregEml;

    /**
    * 监事长办公电话
    */
    private String cfsupvOfficeTel;

    /**
    * 监事长移动电话
    */
    private String cfsupvMob;

    /**
    * 监事长邮箱
    */
    private String cfsupvEml;

    /**
    * 法人代表办公电话
    */
    private String legalRepreOfficeTel;

    /**
    * 法人代表移动电话
    */
    private String legalRepreMob;

    /**
    * 法人代表邮箱
    */
    private String legalRepreEml;

    /**
    * 是否是关闭状态（1：是 0：否）
    */
    private String isCloseStatus;

    /**
     * 审核日志
     */
    @TableField(exist = false)
    private List<AuditLog> auditLogList;


    public List<AuditLog> getAuditLogList() {
        return auditLogList;
    }

    public void setAuditLogList(List<AuditLog> auditLogList) {
        this.auditLogList = auditLogList;
    }


    @TableField(exist = false)
    private List<DeputyChairmInfo> deputyChairmInfoList;

    @TableField(exist = false)
    private List<DeputySecregInfo> deputySecregInfoList;

    @TableField(exist = false)
    private List<MemInfoChgHist> histList;

    public List<MemInfoChgHist> getHistList() {
        return histList;
    }

    public void setHistList(List<MemInfoChgHist> histList) {
        this.histList = histList;
    }


    public ResperInfo() {
    }

    public String getResperInfoNo() {
        return resperInfoNo;
    }

    public void setResperInfoNo(String resperInfoNo) {
        this.resperInfoNo = resperInfoNo;
    }

    public String getInfsubAuditStatusCode() {
        return infsubAuditStatusCode;
    }

    public void setInfsubAuditStatusCode(String infsubAuditStatusCode) {
        this.infsubAuditStatusCode = infsubAuditStatusCode;
    }

    public String getOrgUserNo() {
        return orgUserNo;
    }

    public void setOrgUserNo(String orgUserNo) {
        this.orgUserNo = orgUserNo;
    }

    public String getInfoInputTime() {
        return infoInputTime;
    }

    public void setInfoInputTime(String infoInputTime) {
        this.infoInputTime = infoInputTime;
    }

    public String getResperInfoUpdateTime() {
        return resperInfoUpdateTime;
    }

    public void setResperInfoUpdateTime(String resperInfoUpdateTime) {
        this.resperInfoUpdateTime = resperInfoUpdateTime;
    }

    public String getChairmName() {
        return chairmName;
    }

    public void setChairmName(String chairmName) {
        this.chairmName = chairmName;
    }

    public String getCfsupvName() {
        return cfsupvName;
    }

    public void setCfsupvName(String cfsupvName) {
        this.cfsupvName = cfsupvName;
    }

    public String getSecregName() {
        return secregName;
    }

    public void setSecregName(String secregName) {
        this.secregName = secregName;
    }

    public String getLegalRepreName() {
        return legalRepreName;
    }

    public void setLegalRepreName(String legalRepreName) {
        this.legalRepreName = legalRepreName;
    }

    public String getInfoInputPsnNo() {
        return infoInputPsnNo;
    }

    public void setInfoInputPsnNo(String infoInputPsnNo) {
        this.infoInputPsnNo = infoInputPsnNo;
    }

    public String getResperInfoUpdatePsnNo() {
        return resperInfoUpdatePsnNo;
    }

    public void setResperInfoUpdatePsnNo(String resperInfoUpdatePsnNo) {
        this.resperInfoUpdatePsnNo = resperInfoUpdatePsnNo;
    }

    public String getChairmOfficeTel() {
        return chairmOfficeTel;
    }

    public void setChairmOfficeTel(String chairmOfficeTel) {
        this.chairmOfficeTel = chairmOfficeTel;
    }

    public String getChairmMob() {
        return chairmMob;
    }

    public void setChairmMob(String chairmMob) {
        this.chairmMob = chairmMob;
    }

    public String getChairmEml() {
        return chairmEml;
    }

    public void setChairmEml(String chairmEml) {
        this.chairmEml = chairmEml;
    }

    public String getSecregOfficeTel() {
        return secregOfficeTel;
    }

    public void setSecregOfficeTel(String secregOfficeTel) {
        this.secregOfficeTel = secregOfficeTel;
    }

    public String getSecregMob() {
        return secregMob;
    }

    public void setSecregMob(String secregMob) {
        this.secregMob = secregMob;
    }

    public String getSecregEml() {
        return secregEml;
    }

    public void setSecregEml(String secregEml) {
        this.secregEml = secregEml;
    }

    public String getCfsupvOfficeTel() {
        return cfsupvOfficeTel;
    }

    public void setCfsupvOfficeTel(String cfsupvOfficeTel) {
        this.cfsupvOfficeTel = cfsupvOfficeTel;
    }

    public String getCfsupvMob() {
        return cfsupvMob;
    }

    public void setCfsupvMob(String cfsupvMob) {
        this.cfsupvMob = cfsupvMob;
    }

    public String getCfsupvEml() {
        return cfsupvEml;
    }

    public void setCfsupvEml(String cfsupvEml) {
        this.cfsupvEml = cfsupvEml;
    }

    public String getLegalRepreOfficeTel() {
        return legalRepreOfficeTel;
    }

    public void setLegalRepreOfficeTel(String legalRepreOfficeTel) {
        this.legalRepreOfficeTel = legalRepreOfficeTel;
    }

    public String getLegalRepreMob() {
        return legalRepreMob;
    }

    public void setLegalRepreMob(String legalRepreMob) {
        this.legalRepreMob = legalRepreMob;
    }

    public String getLegalRepreEml() {
        return legalRepreEml;
    }

    public void setLegalRepreEml(String legalRepreEml) {
        this.legalRepreEml = legalRepreEml;
    }

    public String getIsCloseStatus() {
        return isCloseStatus;
    }

    public void setIsCloseStatus(String isCloseStatus) {
        this.isCloseStatus = isCloseStatus;
    }

    public List<DeputyChairmInfo> getDeputyChairmInfoList() {
        return deputyChairmInfoList;
    }

    public void setDeputyChairmInfoList(List<DeputyChairmInfo> deputyChairmInfoList) {
        this.deputyChairmInfoList = deputyChairmInfoList;
    }

    public List<DeputySecregInfo> getDeputySecregInfoList() {
        return deputySecregInfoList;
    }

    public void setDeputySecregInfoList(List<DeputySecregInfo> deputySecregInfoList) {
        this.deputySecregInfoList = deputySecregInfoList;
    }

    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    @TableField(exist = false)
    private Map<String, Object> dictNameResult = new HashMap<String, Object>();

    public Map<String, Object> getDictNameResult() {
        return dictNameResult;
    }

    public void setDictNameResult(Map<String, Object> dictNameResult) {
        this.dictNameResult = dictNameResult;
    }

    //数据字典
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeField(){
        return new String[]{"infsubAuditStatusCode","isCloseStatus","auditLogList"};
    }

    /*数据字典*/
    @Transient
    @JsonInclude(JsonInclude.Include.NON_NULL)
    public String[] buildIncludeType(){
        return new String[]{"DG0149","DG0104","LIST"};
    }
}